package com.wy.utils;

public class UnicodeEmoji {
    /**
     * 输出指定 Unicode 区间内的字符。
     *
     * @param start 起始码点（含），例如 0x1F300
     * @param end   结束码点（含），例如 0x1F5FF
     */
    public static void printEmojiRange(int start, int end) {
        int count = 0;
        for (int code = start; code <= end; code++) {
            // 转换码点为字符
            String emoji = new String(Character.toChars(code));
            // 使用格式化输出 Unicode 码点和对应的字符
            System.out.printf("U+%04X: %s  ", code, emoji);
            count++;
            // 每输出 8 个字符换行
            if (count % 3 == 0) {
                System.out.println();
            }
        }
        // 如果最后一行不足 8 个字符，换行
        if (count % 8 != 0) {
            System.out.println();
        }
    }

    public static void main(String[] args) {
        // 打印 U+1F300 到 U+1F5FF 区间内的字符
        printEmojiRange(0x1F300, 0x1F5FF);
    }
}
